package esercitazione5.graphs;

/**
 *Classe concreta per la gestione degli Edge 
 *
 * @param <V>
 */
public class GraphEdge<V> extends GraphItem<V> implements Edge<V>{
	
	// vertici sorgente e destinazione
	Vertex<V> source, destination;
	
	/**
	 * Costruttore della classe
	 * @param source Vertice sorgente
	 * @param destination	Vertice destinazione
	 */
	public GraphEdge(Vertex<V> source, Vertex<V> destination) {
		this.source=source;
		this.destination=destination;
	}

	/**
	 * Ritorna il vertice sorgente
	 */
	@Override
	public Vertex<V> getSource() {
		return source;
	}

	
	/**
	 * Ritorna il vertice destinazione
	 */
	@Override
	public Vertex<V> getDestination() {
		return destination;
	}

	/**
	 * Setta i vertici di un Edge
	 * @param source vertice sorgente
	 * @param destination vertice destinazione
	 */
	@Override
	public void setVertices(Vertex<V> source, Vertex<V> destination) {
		this.source = source;
		this.destination = destination;
	}

}
